package com.sanjiahantang.youjiaclient.module.me.order.models;

import android.content.Context;

import com.sanjiahantang.youjiaclient.base.BaseBean;
import com.sanjiahantang.youjiaclient.base.BaseView;
import com.sanjiahantang.youjiaclient.base.CallBack;
import com.sanjiahantang.youjiaclient.module.common.beans.StringBean;
import com.sanjiahantang.youjiaclient.module.me.address.beans.AddressBean;
import com.sanjiahantang.youjiaclient.module.me.order.beans.CreateServiceOrderResponseBean;
import com.sanjiahantang.youjiaclient.module.me.order.beans.LogisticsBean;
import com.sanjiahantang.youjiaclient.module.me.order.beans.OrderResponseBean;
import com.sanjiahantang.youjiaclient.module.me.order.beans.RequireOrderBean;
import com.sanjiahantang.youjiaclient.module.me.order.beans.Service3PartBean;
import com.sanjiahantang.youjiaclient.module.me.order.beans.ServiceListBean;
import com.sanjiahantang.youjiaclient.module.me.order.beans.ShopListBean;

import java.util.Map;

/**
 * Created by zy on 2017/10/25.
 */

public interface IOrderModel {
    void searchPriceDesignPhoneForRole(Context context, Map<String, String> param, CallBack<RequireOrderBean> callBack);

    void searchUserAddressOrder(Context context, Map<String, String> params, CallBack<AddressBean> callBack);

    void createOrderForMallCommon(Context context, Object post, CallBack<OrderResponseBean> callBack);

    void payGoodsOrderPhone(Context context, Object requestBean, CallBack<BaseBean> callBack);

    //服务订单
    void servieceOrdeList(Context context, Map<String, Object> param, CallBack<ServiceListBean> callBack);

    void loadOrderList(Context context, Map<String, Object> params, CallBack<ShopListBean> callBack);

    void createOrderForDesign(Context context, Map<String, Object> param, CallBack<CreateServiceOrderResponseBean> callBack);

    void cancelOrderPhone(Context context, Map<String, Object> param, CallBack<BaseBean> callBack);

    void operatorState(Context context, Map<String, Object> param, CallBack<BaseBean> callBack,String orderCode);

    void searchGoodsRaForCode(Context context, Map<String, Object> param, CallBack<ShopListBean> callBack);

    void payServiceOrderPhone(Context context, Object bean, CallBack<BaseBean> callBack);

    void searchServiceRaForCode(Context context, Map<String, Object> param, CallBack<Service3PartBean> callBack);

    void searchGoodsRaForCodeForPlan(Context context, Map<String, Object> param, CallBack<ShopListBean> callBack);

    void searchServiceOrder(Context context, Map<String, String> param, CallBack<ServiceListBean> callBack);

    void findOrderGoodsForOrderCode(Context context, Map<String, String> param, CallBack<StringBean> callBack);

    void saveInvoiceInfoPhoneForCustomer(Context context, Map<String, Object> param, CallBack<BaseBean> callBack);

    void findOrderExpressInfo(Context context, Map<String, Object> param, CallBack<StringBean> callBack);

    void getCheckCodeGoods(Context context, Object bean, CallBack<ShopListBean> listener);

    void getCheckCodeService(Context context, Object bean, CallBack<ShopListBean> listener);

    void saveBankPayGoods(Context context, Object param, CallBack<ShopListBean> callBack);

    void saveBankPayService(Context context, Object param, CallBack<ShopListBean> callBack);
}
